package com.example.myproject.druidandmybatis;

import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.annotation.Bean;

/**
 * 一般都使用Mappersacn了，springboot 自带的注解，这个类就可以不要了。
 * MyBatis扫描接口 ,如果不适用mapperscan注解，要配置这个类的话，
 * 另外应该注意到这个配置中没有MapperScannerConfigurer，如果我们想要扫描MyBatis的Mapper接口，我们就需要配置这个类，
 * 这个配置我们需要单独放到一个类中
 *
 * @author liuzh
 * @since 2015-12-19 14:46
 */
//@Configuration
//TODO 注意，由于MapperScannerConfigurer执行的比较早，所以必须有下面的注解
//@AutoConfigureAfter(MybatisConfig.class)
public class MyBatisMapperScannerConfig {

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
        //这里只能到mapper接口 com.fxt.**.dao.*batis.mapper 支持正则功能
        mapperScannerConfigurer.setBasePackage("com.example.myproject.mapper");
        return mapperScannerConfigurer;
    }

}